//-----------------------------------------------------------------------
// <copyright file="PsStudentEnrollment.cs" company="Procure Development">
//     Copyright (c) Procure Development. All rights reserved.
// </copyright>
// <author>Victor Procure</author>
//-----------------------------------------------------------------------

using System;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;

namespace SManagement.Models
{
    /// <summary>
    /// Attributes of a person enrolled at a postsecondary institution.
    /// </summary>
    public class PsStudentEnrollment
    {
        #region Instance Properties

        [BsonId]
        public ObjectId _id { get; set; }

        public ObjectId OrganizationPersonRoleId { get; set; }

        public ObjectId? RefPsEnrollmentTypeId { get; set; }

        public ObjectId? RefPsEnrollmentStatusId { get; set; }

        public bool? DegreeOrCertificateSeekingStudent { get; set; }

        public bool? FirstTimePostsecondaryStudent { get; set; }

        public ObjectId? RefPsStudentLevelId { get; set; }

        public ObjectId? RefPsEnrollmentAwardTypeId { get; set; }

        public string InitialEnrollmentTerm { get; set; }

        public ObjectId? RefTransferReadyId { get; set; }

        public decimal? InstructionalActivityHoursAttempted { get; set; }

        public decimal? InstructionalActivityHoursCompleted { get; set; }

        public ObjectId? RefInstructionalActivityHoursId { get; set; }

        public ObjectId? RefDistanceEducationCourseEnollmentId { get; set; }

        public bool? HousingOnCampus { get; set; }

        public bool? FraternityParticipationStatus { get; set; }

        public bool? SororityParticipationStatus { get; set; }

        public DateTime? EntryDateIntoPostsecondary { get; set; }

        public bool? DistanceEducationProgramEnrollmentInd { get; set; }

        public bool? DoctoralCandidacyAdmitInd { get; set; }

        public DateTime? DoctoralCandidacyDate { get; set; }

        public DateTime? DoctoralExamTakenDate { get; set; }

        public ObjectId? RefDoctoralExamsRequiredCodeId { get; set; }

        public ObjectId? RefGraduateOrDoctoralExamResultsStatusId { get; set; }

        public bool? OralDefenseCompletedIndicator { get; set; }

        public DateTime? OralDefenseDate { get; set; }

        public bool? PostsecondaryEnteringStudentInd { get; set; }

        public string ThesisOrDissertationTitle { get; set; }

        public ObjectId? RefDevelopmentalEducationReferralStatusId { get; set; }

        public ObjectId? RefDevelopmentalEducationTypeId { get; set; }

        #endregion Instance Properties
}

}